package cn.yzgy.yzgyoa.ucenter.service;

import cn.yzgy.yzgyoa.ucenter.dto.SysStaffDTO;
import cn.yzgy.yzgyoa.ucenter.entity.SysStaff;
import cn.yzgy.yzgyoa.ucenter.entity.UserInfoDetail;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;

/**
 * <p>
 *  服务类
 * </p>
 *
 * @author Yqsen
 * @since 2021-06-03
 */
public interface ISysStaffService extends IService<SysStaff> {

    /**
     * 分页获取所有员工数据
     * @param staffPage 分页对象
     * @param queryDto 查询对象
     * @return 所有员工数据
     */
    IPage<SysStaffDTO> getAllStaff(Page<SysStaffDTO> staffPage, SysStaffDTO queryDto);

    /**
     * 新增员工
     * @param queryDto 员工对象
     * @param currentUser 操作人
     * @return 成功或失败状态
     */
    boolean addStaff(SysStaffDTO queryDto, UserInfoDetail currentUser);

    /**
     * 修改员工
     * @param queryDto 员工对象
     * @param currentUser 操作人
     * @return 成功或失败状态
     */
    boolean editStaff(SysStaffDTO queryDto, UserInfoDetail currentUser);

    /**
     * 删除员工
     * @param queryDto 员工对象
     * @param currentUser 操作人
     * @return 成功或失败状态
     */
    boolean delStaff(SysStaffDTO queryDto, UserInfoDetail currentUser);
}
